Опубликован: 05.08.2007 | Доступ: свободный | Студентов: 2200 / 83 | Оценка: 4.47 / 4.09 | Длительность: 20:11:00
ISBN: 978-5-9556-0097-0
Лекция 3:

Подключение к базе данных Microsoft Access

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Подключение к базе данных Microsoft Access, защищенной паролем. Вскрытие пароля

Файл базы данных Microsoft Access, подобно другим документам Office, можно защитить с помощью пароля на открытие. Скопируйте файл BDTur_firm.mdb, с которым мы работали в первой главе, назовите его "BD_withPassword.mdb". Для установки пароля нам понадобится открыть базу в так называемом монопольном, однопользовательском режиме. Дело в том, что возможность установки пароля при одновременной работе нескольких пользователей1Microsoft Office Access 2003 поддерживает одновременную работу 255 пользователей. приводила бы к ошибкам, поэтому MS Access не предоставляет ее. Запускаем программу, в главном меню переходим "Файл \ Открыть", переходим в нужную директорию, выделяем файл, из выпадающего списка значений кнопки "Открыть" выбираем "Монопольно" (рис. 3.6):

Монопольное открытие файла базы данных

увеличить изображение
Рис. 3.6. Монопольное открытие файла базы данных

Появляется окно базы данных. В главном меню переходим "Сервис \ Защита \ Задать пароль базы данных", в окне "Задание пароля базы данных" вводим пароль "12345" и подтверждаем его (рис. 3.7).

Задание пароля базы данных

Рис. 3.7. Задание пароля базы данных

Теперь всякий раз при открытии этого файла на любом компьютере нужно будет вводить указанный пароль (рис. 3.8).

Открывание базы данных  с паролем

Рис. 3.8. Открывание базы данных с паролем

Для изменения пароля нам потребуется удалить существующий и затем задать новый. Снова открываем базу в монопольном режиме, в главном меню переходим "Сервис \ Защита \ Удалить пароль базы данных". В появившемся окне вводим текущий пароль, после нажатия кнопки "OK" он будет удален. Для ввода нового значения опять переходим к пункту меню "Задать пароль базы данных", на этот раз введем более сложный пароль "q1w2e3r4t5y6u7i8o9p0".

Защита файла с помощью пароля - крайне ненадежный способ, его нельзя применять в реальных приложениях. Пароль хранится в открытом виде, и его очень легко вскрыть. В Интернете множество утилит, предназначенных для этого, например, Access Password Recovery Genie (http://www.lenosoft.com). После запуска этой программы выбираем файл MS Access, пароль к которому нужно подобрать, - и пароль моментально появляется в главном окне (рис. 3.9).

Вскрытие пароля  файла MS Access

Рис. 3.9. Вскрытие пароля файла MS Access

Далее нам снова понадобится вводить пароль - чтобы не тратить время, установите снова его значение равным "12345". Займемся теперь подключением к файлу базы данных из приложений. Конечно, вы теперь будете сомневаться, применять ли вообще задание пароля как средство безопасности, но нам в любом случае нужно научиться подключаться даже к такой, "ненадежной" базе. Создайте новый Windows-проект и назовите его "VisualBD_withPassword". Из окна Toolbox перетаскиваем на форму элемент управления DataGrid, его свойству Dock устанавливаем значение "Fill". Переходим на вкладку Data дважды щелкаем на объекте OleDbDataAdapter. В появившемся мастере настраиваем подключение к файлу BD_withPassword.mdb. Теперь в окне "Свойства связи с данными" при проверке соединения появляется сообщение об ошибке (рис. 3.10):

 Ошибка проверки подключения, возникающая при отсутствии пароля

Рис. 3.10. Ошибка проверки подключения, возникающая при отсутствии пароля

Исходя из текста ошибки, возникает естественное желание снять галочку "Пустой пароль" и в поле пароля ввести "12345". Но и на этот раз возникает ошибка2Убедитесь также в том, что ваш файл базы данных не открыт в самой программе Microsoft Access. (рис. 3.11):

 Ошибка проверки подключения, возникающая при неправильном указании пароля

Рис. 3.11. Ошибка проверки подключения, возникающая при неправильном указании пароля

Дело в том, что интерфейс вкладки "Подключение" предназначен для ввода параметров учетной записи при защите на уровне пользователей. Далее мы рассмотрим ее. Здесь же снова устанавливаем галочку "Пустой пароль" и переходим на вкладку "Все". Дважды щелкаем на свойстве Jet OLEDB:Database Password (или, выделив его, нажимаем на кнопку "Изменить значение"), в появившемся окне "Изменение значения свойства" вводим пароль "12345" (рис. 3.12).

 Ввод пароля для подключения к базе данных

Рис. 3.12. Ввод пароля для подключения к базе данных

Переходим на вкладку "Подключение" - наконец нам удалось получить доступ к базе (рис. 3.13).

 Успешная проверка подключения

Рис. 3.13. Успешная проверка подключения

Нажимаем кнопку "OK" для закрытия окна "Свойства связи с данными", в следующих шагах мастера "Data Adapter Configuration Wizard" настраиваем извлечение всех записей из таблицы "Туристы". В последнем шаге мастера - включение пароля в строку connection string - выбираем кнопку "Include password"; мы будем изучать строку, сгенерированную мастером (рис. 3.14):

 Последний шаг мастера - включение пароля в строку connection string

Рис. 3.14. Последний шаг мастера - включение пароля в строку connection string

На панели компонент формы выделяем объект DataAdapter, переходим в его окно Properties и нажимаем на ссылку Generate dataset. Оставляем название объекта DataSet, предлагаемое по умолчанию. В конструкторе формы заполняем объект DataSet, а также определяем источник данных для элемента DataGrid:

public Form1()
		{
			InitializeComponent();
			oleDbDataAdapter1.Fill(dataSet11);
			dataGrid1.DataSource = dataSet11.Tables[0].DefaultView;
		}

Здесь мы указываем индекс (равный нулю) единственной таблицы, находящейся в объекте DataSet.

Запускаем приложение. На форму выводятся данные из базы (рис. 3.15):

 Готовое приложение VisualBD_withPassword

Рис. 3.15. Готовое приложение VisualBD_withPassword

В программном обеспечении к курсу вы найдете приложение VisualBD_ withPassword и файл базы данных MS Access "BD_withPassword.mdb" (Code\Glava2\VisualBD_withPassword и BD_withPassword.mdb).

Сделаем точно такое же приложение без использования визуальных средств студии. Создайте новый Windows-проект, назовите его "ProgrammBD_withPassword". Добавляем на форму элемент управления DataGrid, его свойству Dock устанавливаем значение "Fill". Подключаем пространство имен для работы с базой:

using System.Data.OleDb;

В классе формы создаем строки connectionString и commandText:

string connectionString = @"Provider=""Microsoft.Jet.OLEDB.4.0"
 ";Data Source=""D:\Uchebnik\Code\Glava2\BD_withPassword.mdb"
 ";User ID=Admin;Jet OLEDB:Database Password=12345;";
string commandText = "SELECT * FROM Туристы";

Мы включили минимум параметров в строку подключения, среди которых указывается пароль базы:

Jet OLEDB:Database Password=12345;

В конструкторе формы создаем все объекты ADO .NET:

public Form1()
	{
		InitializeComponent();
		OleDbConnection conn = new OleDbConnection();
		conn.ConnectionString = connectionString;
		OleDbDataAdapter dataAdapter = new OleDbDataAdapter(commandText, conn);
		DataSet ds = new DataSet();
		dataAdapter.Fill(ds);
		dataGrid1.DataSource = ds.Tables[0].DefaultView;
		conn.Close();
	}

В программном обеспечении к курсу вы найдете приложение ProgrammBD_ withPassword (Code\Glava2\ ProgrammBD_withPassword).

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >